<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

</body>

<script>
    // 扩展运算符（spread）是三个点（...）。它好比 rest 参数的逆运算，
    // 用在数组中  将一个数组转为用逗号分隔的参数序列。
    // 用在对象中  将一个对象转为用逗号分隔的键值对序列。

    // 扩展运算符 => 在对象中使用, 
    var obj = {a:1,b:2,c:3};
    //  ...obj  => a:1,b:2,c:3
    

    // (1) 对象的深复制
    var copy = {
        ...obj,  // ...obj  => a:1,b:2,c:3
        d:4,  // 添加额外的
    }
    console.log(copy,obj);
    console.log(copy===obj);

    // (2)  对象的合并
    var obj1 = {a:1,b:2};
    var obj2 = {c:3,d:4};
    var obj3 = {e:5,f:6};

    var obj = {...obj1,...obj2,...obj3};
    console.log(obj);







</script>
</html>